#ifndef IMU_ALGORITHM_V2_0_1_H
#define IMU_ALGORITHM_V2_0_1_H
extern State inertial_navigation(State stateBeforeBefore,
                                        State stateBefore,
                                        Quaterniond q_bBefore2nBefore,
                                        IMUDATA imuDataBefore,
                                        IMUDATA imuDataNow);
extern Quaterniond getAttitudeQuaternion(Quaterniond q_bBefore2nBefore,
                                  IMUDATA imuDataBefore,
                                  IMUDATA imuDataNow,
                                  Vector3d positionMiddle,
                                  Vector3d velocityMiddle,
                                  double T);
extern Vector3d getVelocity(
        State stateBeforeBefore,
        State stateBefore,
        Quaterniond q_bBefore2nBefore,
        IMUDATA imuDataBefore,
        IMUDATA imuDataNow,
        double T,
        double T1);
extern Vector3d getPosition(State stateBefore,
                     Vector3d vNow,
                     double T);
#endif //IMU_ALGORITHM_V2_0_1_H
